	var object = {};
	object["*"] = {"reg": null,"msg": "不能为空"};//输入内容不能为空 
	object["chinese"] = {"reg": "^[\\u4E00-\\u9FBF]+$","msg": "请输入中文"};//输入的字符为中文
	object["letter"] = {"reg": "^[A-Za-z]+$","msg": "请输入英文"};//输入的字符为英文字母 
	object["capital"] = {"reg": "^[A-Z]+$","msg": "请输入大写英文字母"};//输入的字符为大写英文字母 
	object["smallletter"] = {"reg": "^[a-z]+$","msg": "请输入小写英文字母"};//输入的字符为小写英文字母 
	object["integer"] = {"reg": "^-?\\d+$","msg": "请输入整数"};//输入的字符为整数
	object["decimal"] = {"reg": "^(?!0+(?:\\.0+)?$)(?:[1-9]\\d*|0)(?:\\.\\d{1,2})?$","msg": "请输入正确的两位小数"};//输入的字符为两位小数
	object["half"] = {"reg": "^[\\x00-\\xff]*[^A-Za-z]$","msg": "请输入半角字符"};//输入的字符中只能含有半角字符(排除半角英文)
	object["email"] = {"reg": "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$","msg": "请输入正确的Email"};//输入的字符为Email格式
	object["zip"] = {"reg": "^\\d{6}$","msg": "请输入正确的邮政编码"};//输入的字符为邮政编码格式
	object["qq"] = {"reg": "[1-9][0-9]{4,}","msg": "请输入正确的QQ号"};//输入的字符为QQ号码
	object["tel"] = {"reg": "^(\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}$","msg": "请输入正确的固定电话"};//输入的字符为固定电话
	object["mobile"] = {"reg": "^1[\\d{3}]\\d{9}$","msg": "请输入正确的移动电话"};//输入的字符为移动电话
	object["idcard"] = {"reg": "^\\d{15}(\\d{2}[xX0-9])?$","msg": "请输入正确的身份证"};//输入的字符为身份证
	object["password"] = {"reg": "^[\\w_]+$","msg": "请确认密码中只含有英文、数字、下划线"};//输入的字符符合密码规则
	
	//提交方法前调用
	//@param formId
	function validate(formId) {
		var success = true;
		$("#" + formId + " [dataValid]").each(function(i, o) {
			var id = $(o).attr("id");
			var val = $(o).val();
			var type = $(o).attr("dataValid");
			//校验begin
			var typeDeal = _typeDeal(type);
			success = _validate(formId, id,val,typeDeal,object[typeDeal.type]);
			if(!success){
				return false;
			}
		});
		return success;
	}
	
	//对 data-valid 进行整理
	//@param type 即dataValid的值
	//返回json数据 例如：{"no":"1","type":"chinese","min":"2","max":"10"}
	function _typeDeal(type){
		var json = {};
		if(type.split(":").length == 1){//类型一
			json = {"no":"1","type":type.split(":")[0],"min":"1","max":null};
		}else{
			if(type.split("~").length == 1){//类型二
				json = {"no":"2","type":type.split(":")[0],"min":"1","max":type.split(":")[1]};
			}else{//类型三
				var min = type.split(":")[1].split("~")[0];
				var max = type.split(":")[1].split("~")[1];
				json = {"no":"3","type":type.split(":")[0],"min":min,"max":max};
			}
		}
		return json;
	}
	
	/*校验方法,根据输入的val,json的不同进行提示
	formId:页面表单id
	id:页面input的id
	val：页面input的value
	typeDeal：根据input的 data-valid 属性，整理后的json数据，
	info:包括具体的正则表达式reg和回显信息msg的json数据
	*/
	function _validate(formId, id,val,typeDeal,info){
		var reg = new RegExp(info.reg,"gm");//正则表达式
		var msg = info.msg;//回显信息
		if(typeDeal.type == "*"){
			//非空判断
			if(val.trim() == ""){
				showTips(formId, id,msg);
				return false;
			}else{
				return true;
			}
		}else{
			if(!reg.test(val)){
				showTips(formId, id,msg);
				return false;
			}else{
				var a = lengthDispose(formId, id,val,typeDeal);//长度校验开始
				return a;
			}
		}
	}
	
	/* 
	长度处理，根据data-valid中的type进行处理
	情况一：	<input data-valid="chinese"/> 表示输入数据为中文，至少输入一个()
	情况二：	<input data-valid="chinese：10"/> 表示输入数据为中文，输入个数在1~10 包括边界
	情况三：	<input data-valid="chinese：5~10"/>表示输入数据为中文，输入个数在5~10之间 包括边界
	@param: formId,id,val,typeDeal
	@return: false
	*/
	function lengthDispose(formId, id,val,typeDeal){
		var l = val.length;
		var min = typeDeal.min;
		var max = typeDeal.max;
		switch(typeDeal.no){
			case "2":
				if(l > max){
					showTips(formId, id, "输入的字符长度应<="+max);
					return false;
				}
			case "3":
				if(l < min){
					showTips(formId, id, "输入的字符长度应>="+min);
					return false;
				}
				if(l > max){
					showTips(formId, id, "输入的字符长度应<="+max);
					return false;
				}
			default:
				return true;
		}
	}
	//显示tips
	//@param: formId,id,tips
	function showTips(formId, id, tips) {
		var dom = "<div class=\"tip\"><p class=\"jiantou\"></p><p class=\"content\">"
				+ tips + "</p></div>";
		$("#"+formId+" :input[id='"+id+"'] ").before(dom);
		$(".tip .content").css("background-color", "#F0F0F0").css(
				"padding", "5px").css("margin-top", "35px").css("width",
				"inherit").css("position", "absolute").css("box-shadow",
				"1px 1px 1px rgba(0, 0, 0, 0.2)").css("z-index", "9999");
		$(".jiantou").css("background-color", "#F0F0F0").css("padding", "3px")
				.css("margin-top", "30px").css("margin-left", "5px").css(
						"position", "absolute").css("border-radius", "50px");
		$(".tip").delay(1500).fadeOut(200);
		$("#"+formId+" :input[id='"+id+"'] ").focus();
	}